#ifndef SCT_RTSPSERVER_AACSERVERMEDIASUBSESSION_H
#define SCT_RTSPSERVER_AACSERVERMEDIASUBSESSION_H

#include "sct/core/common.h"
#include "FileServerMediaSubsession.hh"

namespace sct
{

class CAACServerMediaSubsession: public FileServerMediaSubsession
{
public:
  static CAACServerMediaSubsession*
  createNew(UsageEnvironment& env, void* audio, Boolean reuseFirstSource);

protected:
  CAACServerMediaSubsession(UsageEnvironment& env, void* audio,
				      Boolean reuseFirstSource);
      // called only by createNew();
  virtual ~CAACServerMediaSubsession();

protected: // redefined virtual functions
  virtual FramedSource* createNewStreamSource(unsigned clientSessionId,
					      unsigned& estBitrate);
  virtual RTPSink* createNewRTPSink(Groupsock* rtpGroupsock,
                                    unsigned char rtpPayloadTypeIfDynamic,
				    FramedSource* inputSource);

  void* mAudioSource;
};

}

#endif

